package TP2.pruebas;

import java.awt.Point;
import junit.framework.*;
import TP2.modelo.*;

public class ColisionAvionConAvionTest extends TestCase{

	public void testColisionAvionJugadorConAvioneta(){
		
		Algo42 algo42 = new Algo42();
		Avioneta avioneta = new Avioneta();
		Escenario escenario = Escenario.getInstancia();
		escenario.limpiarInstancia();
		Point posicion = new Point();
		
		posicion.setLocation(25, 25);
		algo42.setPosicion(posicion);
		posicion.setLocation(25, 33);
		avioneta.setPosicion(posicion);
		
		avioneta.vivir();
		avioneta.vivir();
		
		assertFalse(algo42.estaDestruido());
		assertFalse(avioneta.estaDestruido());
		
		algo42.colisionarConAvion(avioneta);
		avioneta.colisionarConAvion(algo42);
		
		assertTrue(avioneta.estaDestruido());
		assertTrue(algo42.getPuntaje() == 50);
		assertTrue(algo42.getNivelDeVida() == 990);
		
		escenario.limpiarInstancia();
	}
	
	public void testColisionAvionJugadorConBombardero(){
		
		Algo42 algo42 = new Algo42();
		AvionBombardero bombardero = new AvionBombardero();
		Escenario escenario = Escenario.getInstancia();
		escenario.limpiarInstancia();
		Point posicion = new Point();
		
		posicion.setLocation(25, 25);
		algo42.setPosicion(posicion);
		posicion.setLocation(25, 33);
		bombardero.setPosicion(posicion);
		
		bombardero.vivir();
		bombardero.vivir();
		
		assertFalse(algo42.estaDestruido());
		assertFalse(bombardero.estaDestruido());
		
		algo42.colisionarConAvion(bombardero);
		bombardero.colisionarConAvion(algo42);
	
		assertTrue(bombardero.estaDestruido());
		assertTrue(algo42.getPuntaje() == 400);
		assertTrue(!algo42.estaDestruido());

		escenario.limpiarInstancia();
	}
	
		
}	

